package de.tum.in.eist.poll.server.dao;

import java.util.List;

import de.tum.in.eist.poll.shared.beans.Lecture;

/**
 * LectureDaoInterface gives access to a Lecture storage.
 * 
 * @author The EIST-POLL-21 team.
 *
 */
public interface LectureDaoInterface {
	/**
	 * Put a {@link Lecture} to the store. This replaces any
	 * lecture with the same lecture ID.
	 * 
	 * @param lecture the lecture to add
	 */
	public void	   put(Lecture lecture);
	
	/**
	 * Get the lecture with a given lecture ID from the store.
	 * 
	 * @param lectureID the ID of the lecture to retrieve
	 * @return the lecture to be retrieved 
	 */
	public Lecture get(String lectureID);
	
	/**
	 * Get a list of lectures belonging to a lecturer.
	 * 
	 * @param lecturerID the lecturer's ID
	 * @return a list of lectures
	 */
	public List<Lecture> getByLecturer(String lecturerID);
	
	/**
	 * Check whether a lecture is known by the database.
	 * 
	 * @param lectureID the lecture's ID
	 * @return
	 */
	public boolean exists(String lectureID);
}
